package com.ruoyi.swla2.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.swla2.domain.GisLine;

/**
 * GIS管网-管线Service接口
 *
 * @author gdqt
 * @date 2023-11-26
 */
public interface IGisLineService {
    /**
     * 查询GIS管网-管线
     *
     * @param id GIS管网-管线主键
     * @return GIS管网-管线
     */
    public GisLine selectGisLineById(Long id);

    /**
     * 查询GIS管网-管线列表
     *
     * @param gisLine GIS管网-管线
     * @return GIS管网-管线集合
     */
    public List<GisLine> selectGisLineList(GisLine gisLine);

    /**
     * 新增GIS管网-管线
     *
     * @param gisLine GIS管网-管线
     * @return 结果
     */
    public int insertGisLine(GisLine gisLine);

    /**
     * 修改GIS管网-管线
     *
     * @param gisLine GIS管网-管线
     * @return 结果
     */
    public int updateGisLine(GisLine gisLine);

    /**
     * 批量删除GIS管网-管线
     *
     * @param ids 需要删除的GIS管网-管线主键集合
     * @return 结果
     */
    public int deleteGisLineByIds(Long[] ids);

    /**
     * 删除GIS管网-管线信息
     *
     * @param id GIS管网-管线主键
     * @return 结果
     */
    public int deleteGisLineById(Long id);

    /**
     * 更新管线起点或终点坐标
     */
    void updateGisLinePointsXY(String expNo, String oldPointStr, String newPointStr);

    /**
     * 更新管线起点或终点埋深
     */
    void updateGisLinePointsDeep(String expNo, Double newDeep);

    List<GisLine> getPipeLengthData(Map<String, Object> queryMap);

    List<GisLine> getLineAlarmData(Map<String, Object> queryMap);
}
